package cli

// 抽象工厂接口
// BotFactory 创建消息发送机器人的抽象工厂接口
type BotFactory interface {
	InitFactory(params map[string]string) Bot
}

// 抽象产品接口
// Bot 是所有消息发送机器人的接口
type Bot interface {
	SendMessage(message string) error
}

// RobotClient 工厂client
type RobotClient struct {
	BotFactory
}

// NewRobotClient
//
//	@Description: 工厂操作入口；调用实例查看demo
//	@param plat
//	@return *RobotClient
func NewRobotClient(plat BotFactory) *RobotClient {
	return &RobotClient{
		BotFactory: plat,
	}
}
